package org.activequant.container.report;

import org.activequant.util.exceptions.ReportingException;


/**
 * An interface. Defines one method:
 * <ul>
 * <li>void renderReport(IReport report) throws ReportingException;</li>
 * </ul>
 * Reporting service consists of specific rendering implementation and a
 * given IReport subclass. This service is geared toward generic reporting and
 * is suitable for rendering most report types.
 * <p>
 * The actual report is marked using the IReport marker interface which allows one
 * to pass the report object in a type-safe manner. The concrete implementation needs
 * to sub-cast the passed report object to a specific type of report.
 * <br>
 * <b>History:</b><br>
 *  - [14.01.2008] Created (Erik)<br>
 *
 *  @author Erik Nijkamp
 */
public interface IReportingService {
	
	void renderReport(IReport report) throws ReportingException;
	
}
